# 捕获异常描述信息
try:
    print(num)
except (NameError,ZeroDivisionError) as re:
    print(re)

# Exception是所有程序异常类的⽗类。
try:
    print(num)
except Exception as ew:
    print(ew)

# else表示的是如果没有异常要执⾏的代码。
try:
    print(1)
except Exception as re:
    print(re)
else:
    print('1234')

# finally表示的是⽆论是否异常都要执⾏的代码，例如关闭⽂件
# 在Python中，抛出⾃定义异常的语法为 raise 异常类对象 。

# import 模块名
# from 模块名 import 功能名
# from 模块名 import *
# import 模块名 as 别名
# from 模块名 import 功能名 as 别名
# __xx__() 的函数叫做魔法⽅法，指的是具有特殊功能的函数。
# __init__() ⽅法的作⽤：初始化对象。
# 带参数的__init__() __init__()

# 烤地瓜
class SweetPotato():
    def __init__(self):
        # 被烤的时间
        self.cook_time = 0
        # 地⽠的状态
        self.cook_static = '⽣的'
        # 调料列表
        self.condiments = []
    #时间
    def cook(self,time):
        self.cook_time+=time
        if 0 <= self.cook_time < 3:
            self.cook_static = '⽣的'
        elif 3 <= self.cook_time < 5:
            self.cook_static = '半⽣不熟'
        elif 5 <= self.cook_time < 8:
            self.cook_static = '熟了'
        elif self.cook_time >= 8:
            self.cook_static = '烤糊了'
    #添加调料
    def add_condiments(self,condiment):
        self.condiments.append(condiment)

    def __str__(self):
        return f'这个地⽠烤了{self.cook_time}分钟, 状态是{self.cook_static}, ' \
               f'添加的调料有{self.condiments}'

digua1 = SweetPotato()
print(digua1)
digua1.cook(2)
digua1.add_condiments('酱油')
print(digua1)
digua1.cook(2)
digua1.add_condiments('辣椒⾯⼉')
print(digua1)
digua1.cook(2)
print(digua1)
digua1.cook(2)
print(digua1)


# 搬家具
#家居类
class furniture():
    def __init__(self,name,area):
        self.name=name
        self.area=area

#房子类
class home():
    def __init__(self,address,area):
        self.address =address
        self.area=area
        self.fruu_area=area
        self.furniture=[]

    def __str__(self):
        return f'房子在{self.address}，占地面积{self.area}，剩余面积{self.fruu_area}，家具有{self.furniture}'

    def add_furniture(self,item):
        if self.fruu_area >=item.area:
            self.furniture.append(item.name)
            self.fruu_area -=item.area
        else:
            print('家具太大')

bed=furniture('双人床',6)
jia=home('北京',1220)
print(jia)
            



